using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("MedalInfoTranslator")]
	public class MedalInfoTranslator : MonoClass
	{
		public TranslatedMedalInfo m_currMedalInfo => method_3<TranslatedMedalInfo>("m_currMedalInfo");

		public TranslatedMedalInfo m_prevMedalInfo => method_3<TranslatedMedalInfo>("m_prevMedalInfo");

		public TranslatedMedalInfo m_currWildMedalInfo => method_3<TranslatedMedalInfo>("m_currWildMedalInfo");

		public TranslatedMedalInfo m_prevWildMedalInfo => method_3<TranslatedMedalInfo>("m_prevWildMedalInfo");

		public bool m_validPrevMedal => method_2<bool>("m_validPrevMedal");

		public static List<AssetReference> s_medalTextureAssets => MonoClass.smethod_7<Class251<AssetReference>>(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "s_medalTextureAssets")?.method_25();

		public static string MEDAL_NAME_PREFIX => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "MEDAL_NAME_PREFIX");

		public static int MAX_RANK => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "MAX_RANK");

		public static int WORST_DISPLAYABLE_RANK => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "WORST_DISPLAYABLE_RANK");

		public static int LEGEND_RANK_VALUE => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "LEGEND_RANK_VALUE");

		public static int LOWEST_LEGEND_VALUE => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "MedalInfoTranslator", "LOWEST_LEGEND_VALUE");

		public MedalInfoTranslator(IntPtr address, string className)
			: base(address, className)
		{
		}

		public MedalInfoTranslator(IntPtr address)
			: this(address, "MedalInfoTranslator")
		{
		}

		public bool IsDisplayable(bool useWildMedal)
		{
			return method_11<bool>("IsDisplayable", new object[1] { useWildMedal });
		}

		public TranslatedMedalInfo GetCurrentMedal(FormatType formatType)
		{
			return method_14<TranslatedMedalInfo>("GetCurrentMedal", new object[1] { formatType });
		}

		public TranslatedMedalInfo GetPreviousMedal(FormatType formatType)
		{
			return method_14<TranslatedMedalInfo>("GetPreviousMedal", new object[1] { formatType });
		}

		public bool IsPreviousMedalValid()
		{
			return method_11<bool>("IsPreviousMedalValid", Array.Empty<object>());
		}

		public bool IsBestCurrentRankWild()
		{
			return method_11<bool>("IsBestCurrentRankWild", Array.Empty<object>());
		}

		public bool ShowRewardChest(bool useWildMedal)
		{
			return method_11<bool>("ShowRewardChest", new object[1] { useWildMedal });
		}

		public RankChangeType GetChangeType(bool useWildMedal)
		{
			return method_11<RankChangeType>("GetChangeType", new object[1] { useWildMedal });
		}

		public void TestSetMedalInfo(TranslatedMedalInfo currMedal, TranslatedMedalInfo prevMedal)
		{
			method_8("TestSetMedalInfo", currMedal, prevMedal);
		}
	}
}
